ExecutionContext extends ArgumentsHost and provides metadata about the current execution — the transport type (HTTP, WebSocket, RPC) and which handler and class will process it. Its getHandler() and getClass() methods are used with Reflector to read @SetMetadata() values for RBAC and feature flags.
getHandler() and getClass() give guards and interceptors access to the matched route metadata.
switchToHttp(), switchToWs(), switchToRpc() make enhancers transport-agnostic.
Used by Reflector to read @SetMetadata() values — essential for RBAC, @Public(), feature flags.
ArgumentsHost (parent interface) is used by exception filters; ExecutionContext extends it with handler/class info.